# python中的运算符
# 算术运算符 +  -  *  /  //(整除)  %（取余）  **（幂运算）
print(1+1)   # 2
print(2-1)   # 1
print(2*4)   # 8
print(1/2)   # 0.5
print(11/2)  #5.5
print(13%5)  #3
print(2**10)  # 输出2的十次方
print('-------------------------------正负数问题-----------------------------')
print(-9//4)  #-3  因为结果是-2.几  取整数为-3
print(9//-4)  #-3
print(9%-4)   #-3   一正一负要满足公式  商*除数+余数=被除数
print(-9%4)   #3

# 赋值运算符 执行顺序从右到左  +=  -=  *=  /=  //=  %=
a=b=c=20  #链式赋值
a+=20  #a=a+20  加减乘除同理 其他的也一样
a,b,c=10,20,30   #支持系列解包赋值
a,b=b,a  #把两个值交换值

# 比较运算符
a,b=10,20
print('a>b?',a>b)
print('a>=b?',a>=b)
print('a<b?',a<b)
print('a<=b?',a<=b)
print('a=b?',a==b)
print('a!=b?',a!=b)
a=10
b=10
print(a==b)  #True  说明a，b的value相等
print(a is b)   #True   说明a，b的id标识相等     同时还有not is 语句
# 如果是数组的话  id 就不相等了

# 布尔运算符    and 与运算 全真则真 |  or 或运算 有一个真为真  |   not 非运算  |  in/not in
print('1')
a,b=1,2
print(a==1 and b==2)
print(a==1 and b<2)
s='wodemaya'
print(2)
print('w'in s)
print('w' not in s)

# 位运算符：将数据转换为二进制进行计算    &按位与：每个二进制位全部与运算         |按位或      <<左移位：高位溢出舍弃，低位补0  >>右移位:低位溢出舍弃，高位补0

#运算符优先级   ** 优先于 * / // % 优先于 + - 优先于  << >>  优先于 &  优先于 |  优先于 > < >= <= == != 优先于 and 优先于 or 优先于 =    ps：有括号先括号















